<!DOCTYPE html>
<html class="x-admin-sm">
  
  <head>
    <meta charset="UTF-8">
    <title>ginadmin</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
    <link rel="stylesheet" href="./css/font.css">
    <link rel="stylesheet" href="./css/xadmin.css">
    <script type="text/javascript" src="./lib/layui/layui.js" charset="utf-8"></script>
    <script type="text/javascript" src="./js/jquery.min.js"></script>
    <script type="text/javascript" src="./js/utils.js"></script>
    <script type="text/javascript" src="./js/xadmin.js"></script>
    <!-- 让IE8/9支持媒体查询，从而兼容栅格 -->
    <!--[if lt IE 9]>
      <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
      <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
      <script type="text/javascript" src="/js/treeTable.js"></script>
    <![endif]-->
  </head>
  
  <body>
    <div class="layui-fluid">
        <div class="layui-row">
            <form action="" method="post" class="layui-form layui-form-pane">
                <div class="layui-form-item">
                    <label for="name" class="layui-form-label">
                        <span class="x-red">*</span>角色名
                    </label>
                    <div class="layui-input-inline">
                        <input type="text" id="name" name="name" required="" lay-verify="required"
                        autocomplete="off" class="layui-input">
                    </div>
                </div>
                <div class="layui-form-item layui-form-text">
                    <label class="layui-form-label">
                        拥有权限
                    </label>
                    <table id="demoTreeTb"></table>
                </div>
                <div class="layui-form-item">
                <button class="layui-btn" lay-submit="" lay-filter="add">增加</button>
              </div>
            </form>
        </div>
    </div>
    <script>
        layui.config({
            base: '/view/js/' //假设这是你存放拓展模块的根目录
        }).extend({ //设定模块别名
            treeTable: 'treeTable' //如果 mymod.js 是在根目录，也可以不用设定别名
        });
        var treeTable,insTb
        layui.use(['form','treeTable'], function(){
            $ = layui.jquery;
          var form = layui.form
          ,layer = layui.layer;
          treeTable = layui.treeTable;

            // 渲染树形表格
            insTb = treeTable.render({
                elem: '#demoTreeTb',
                url: '/web/menu/list',
                tree: {
                    iconIndex: 2,           // 折叠图标显示在第几列
                    isPidData: true,        // 是否是id、pid形式数据
                    idName: 'ID',  // id字段名称
                    pidName: 'ParentId'     // pid字段名称
                },
                cols: [[
                    {type: 'numbers'},
                    {type: 'checkbox'},
                    {field: 'Name', title: '菜单名称'}
                ]]
            });

            treeTable.on('checkbox(demoTreeTb)', function(obj){
                //console.log(obj.checked);  // 当前是否选中状态
                //console.log(obj.data);  // 选中行的相关数据
                //console.log(obj.type);  // 如果触发的是全选，则为：all，如果触发的是单选，则为：one
            });


          //监听提交
          form.on('submit(add)', function(data){
             let info = insTb.checkStatus();
             console.log(info);
             var rolestr = "";
              info.forEach((e,index) => {
                  rolestr = rolestr + e.ID;
                  if(index != info.length - 1){
                      rolestr = rolestr + ","
                  }
              })
              httpRequest("/web/role/add", {"name":data.field.name,"auth":rolestr},function(res){
                  layer.alert("增加成功", {icon: 6},function () {
                      // 获得frame索引
                      var index = parent.layer.getFrameIndex(window.name);
                      //关闭当前frame
                      parent.layer.close(index);
                      parent.location.reload();
                  });
              });
            return false;
          });
          
        });
    </script>

  </body>

</html>